#include #include #define input "TRACE.INP" #define output "TRACE.OUT" int giaithua(int n) { if (n==0||n==1) return 1; int gt=1; for (int i=2;i<=n;i++) gt=gt*i; return gt; } int main() { printf("%lld",giaithua(10)); FILE*f1,*f2; int xA,yA,xB,yB,d=0,E=0,W=0,N=0,S=0,i,j; char T[225],a[10],b[10]; f1 = fopen(input,"r"); f2 = fopen(output,"w"); fscanf(f1,"%d%d%d%d",&xA,&yA,&xB,&yB); fscanf(f1,"%s",T); int n=strlen(T); for (i=0;ixA) dE=(xB-xA)-(E-W); else dW=(xA-xB)-(W-E); if (yB>yA) dN=(yB-yA)-(dN-dS); else dS=(yA-yB)-(dS-dN); m=d-dE-dN-dS-dW; i=0; for (j=0;j0) dem=giaithua(d)/(giaithua(dE+m/2)*giaithua(dW+m/2)*giaithua(dN)*giaithua(dS))+giaithua(d)/(giaithua(dE)*giaithua(dW)*giaithua(dN+m/2)*giaithua(dS+m/2)); else dem=giaithua(d)/(giaithua(dE+m/2)*giaithua(dW+m/2)*giaithua(dN)*giaithua(dS)); fprintf(f2,"%s",T); fprintf(f2,"\n%d",dem); fclose(f1); fclose(f2); }